蓝牙扫描

chengzhenyu 8 ans auparavant
Parent
Commettre
b738ff1401

+ 1 - 1
app/src/main/java/ai/pai/lensman/printer/BluetoothDeviceListAdapter.java

@@ -55,7 +55,7 @@ public class BluetoothDeviceListAdapter extends BaseAdapter {
55 55
 
56 56
     @Override
57 57
     public long getItemId(int i) {
58
-        return i;
58
+        return 1000+ i;
59 59
     }
60 60
 
61 61
     @Override

+ 8 - 14
app/src/main/java/ai/pai/lensman/printer/PrinterSettingActivity.java

@@ -11,8 +11,6 @@ import android.widget.TextView;
11 11
 import android.widget.Toast;
12 12
 import android.widget.ToggleButton;
13 13
 
14
-import com.android.views.mergeAdapter.MergeAdapter;
15
-
16 14
 import java.util.ArrayList;
17 15
 import java.util.List;
18 16
 
@@ -30,9 +28,7 @@ public class PrinterSettingActivity extends BaseActivity implements PrinterSetti
30 28
     @BindView(R.id.tv_bluetooth_status) TextView bluetoothStatusText;
31 29
     @BindView(R.id.tb_bluetooth_switch)   ToggleButton btSwitchToggle;
32 30
 
33
-    private MergeAdapter mergeAdapter;
34
-    private BluetoothDeviceListAdapter newDeviceAdapter;
35
-    private BluetoothDeviceListAdapter pairedDeviceAdapter;
31
+    private BluetoothDeviceListAdapter deviceAdapter;
36 32
     private PrinterSettingContract.Presenter presenter;
37 33
 
38 34
     public static final int    REQUEST_ENABLE_BT      = 2;
@@ -44,13 +40,8 @@ public class PrinterSettingActivity extends BaseActivity implements PrinterSetti
44 40
         setContentView(R.layout.activity_printer_setting);
45 41
         unbinder = ButterKnife.bind(this);
46 42
 
47
-        mergeAdapter = new MergeAdapter();
48
-        newDeviceAdapter = new BluetoothDeviceListAdapter(this);
49
-        pairedDeviceAdapter = new BluetoothDeviceListAdapter(this);
50
-
51
-        btDevicesList.setAdapter(mergeAdapter);
52
-        mergeAdapter.addAdapter(pairedDeviceAdapter);
53
-        mergeAdapter.addAdapter(newDeviceAdapter);
43
+        deviceAdapter = new BluetoothDeviceListAdapter(this);
44
+        btDevicesList.setAdapter(deviceAdapter);
54 45
 
55 46
         presenter = new PrinterSettingPresenter(this,this);
56 47
     }
@@ -101,7 +92,7 @@ public class PrinterSettingActivity extends BaseActivity implements PrinterSetti
101 92
 
102 93
     @Override
103 94
     public void onNewDeviceDiscovered(BluetoothDevice device) {
104
-        newDeviceAdapter.addDevice(device);
95
+        deviceAdapter.addDevice(device);
105 96
     }
106 97
 
107 98
 
@@ -112,7 +103,10 @@ public class PrinterSettingActivity extends BaseActivity implements PrinterSetti
112 103
 
113 104
     @Override
114 105
     public void onPairedDeviceDiscovered(List<BluetoothDevice> devices) {
115
-        pairedDeviceAdapter.setDeviceList((ArrayList<BluetoothDevice>)devices);
106
+        if(devices==null|| devices.size()==0){
107
+            return;
108
+        }
109
+        deviceAdapter.setDeviceList((ArrayList<BluetoothDevice>)devices);
116 110
     }
117 111
 
118 112
 

+ 10 - 1
app/src/main/java/ai/pai/lensman/printer/PrinterSettingPresenter.java

@@ -7,7 +7,9 @@ import android.content.Context;
7 7
 import android.content.Intent;
8 8
 import android.content.IntentFilter;
9 9
 
10
+import java.util.ArrayList;
10 11
 import java.util.List;
12
+import java.util.Set;
11 13
 
12 14
 import ai.pai.lensman.R;
13 15
 
@@ -31,8 +33,10 @@ public class PrinterSettingPresenter implements PrinterSettingContract.Presenter
31 33
     public void start() {
32 34
         if(queryBluetoothStatus()){
33 35
             view.onBluetoothEnabled();
36
+            view.onPairedDeviceDiscovered(queryPairedDevices());
34 37
             view.showToast(context.getString(R.string.query_processing));
35 38
             queryPrinterStatus();
39
+            discoverNewDevices();
36 40
         }else{
37 41
             view.onBluetoothDisabled();
38 42
             view.showToast(context.getString(R.string.bt_is_disabled));
@@ -64,7 +68,12 @@ public class PrinterSettingPresenter implements PrinterSettingContract.Presenter
64 68
 
65 69
     @Override
66 70
     public List<BluetoothDevice> queryPairedDevices() {
67
-        return (List<BluetoothDevice>) bluetoothAdapter.getBondedDevices();
71
+        ArrayList<BluetoothDevice> pairedDevices = new ArrayList<>();
72
+        Set<BluetoothDevice> deviceSet = bluetoothAdapter.getBondedDevices();
73
+        for(BluetoothDevice device: deviceSet){
74
+            pairedDevices.add(device);
75
+        }
76
+        return pairedDevices;
68 77
 
69 78
     }
70 79
 

+ 1 - 1
app/src/main/java/ai/pai/lensman/session/SessionInteractor.java

@@ -107,7 +107,7 @@ public class SessionInteractor {
107 107
             public void run() {
108 108
                 fetchThumbnailTask();
109 109
             }
110
-        },1000,1000);
110
+        },1000,10000);
111 111
     }
112 112
 
113 113
     private void fetchThumbnailTask(){

+ 1 - 0
app/src/main/res/layout/layout_bt_device_list_item.xml

@@ -10,6 +10,7 @@
10 10
         android:layout_width="0dp"
11 11
         android:layout_height="wrap_content"
12 12
         android:layout_gravity="center_vertical"
13
+        android:orientation="vertical"
13 14
         android:layout_weight="1">
14 15
 
15 16
         <TextView